#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//void my_strcpy(char* p, char* q)
//{
//	while (*p != 0 && *q != 0)
//	{
//		int tmp;
//		tmp = *p;
//		*p = *q;
//		*q = tmp;
//		p++;
//		q++;
//	}
//}
//int main()
//{
//	char arr1[] = "abcde";
//	char arr2[] = "ccd";
//	my_strcpy(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}
////int Strlen(char* p)
////{
////	int count = 0;
////	while (*p != '\0')
////	{
////		count++;
////		p++;
////	}
////	return count;
////}
////int main()
////{
////
////	char arr[]="abcdfe";
////	Strlen(arr);
////	int sum = Strlen(arr);
////	printf("%d", sum);
////	return 0;
////}
#include <stdio.h>
int max(int a, int b)
{
    int c = (a > b ? b : a);
    int d = (a > b ? a : b);
    int lage = 0;
    int min = 0;
    int i = 0;
    
    for (i = c; i >0; i--)
    {
        if (d % i == 0)
        {
            min = i;
            break;
        }
    }
    return min;
 
}
int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    int Max = max(a, b);
    int min = a * b / Max;
    printf("%d", min);
        return 0;
    }
